A programmable logic device is a semiconductor integrated circuit that allows a circuit to be reconfigured (or first configured) after it has been manufactured. A Field Programmable Gate Array (FPGA) is a representative example of a programmable logic device.
The programmable logic device has multiple wirings and to rewrite the circuit, the wirings may be selectively connected or disconnected electrically to each other. Several methods exist to control or alter the various possible connections.
One method of controlling the wiring connections utilizes transistors and memory. The memory is programmable electrically and the transistors are switched on or off based on programmed information stored in the memory. In general, SRAM is used as memory in these devices.
Another method of controlling the wiring connections is to install an anti-fuse with two terminals between multiple wirings. An “anti-fuse” as used here is a device component that generally does not conduct electricity until some short-circuiting voltage level is exceeded, after which the component becomes conductive even at voltage levels below the short-circuiting voltage. An anti-fuse component may include an insulating film, such as amorphous silicon, inserted between two terminals. There is a high resistance between the terminals initially. Therefore, the terminals are, effectively, electrically disconnected. However, when a specified voltage is applied between the terminals, or a specified current flows between the terminals, the insulating film is broken (altered) and the terminals are short-circuited. Thus, the multiple wirings connected to the terminals electrically connect to each other.
Since the change in the resistance in the anti-fuse is irreversible, the wiring once connected may not be returned to the disconnected state. Therefore, even in such unusual or harsh environments as under the strong influence of cosmic rays, or under high temperature, the circuit information fixed by anti-fuse will not be lost as might be the case when connections are based on information stored in an electronic memory, such as an SRAM. However, with a programmable logic device utilizing an anti-fuse, once the circuit information is fixed, it cannot be changed later. Thus, the utility of the programmable logic device is reduced.
On the other hand, a programmable logic device utilizing transistors and memory allows users to rewrite the circuit by rewriting the memory multiple times. However, if information stored in the memory is lost due to an external cause, the programmable logic device may malfunction. Therefore, it is not appropriate to be used in an unusual or harsh environment.